//++++++++++++++++++++++++++++++++++++
// QuantV 3.0.0 shader
// Original code by Rockstar Games
//++++++++++++++++++++++++++++++++++++
ps_4_1
dcl_constantbuffer cb1[16], immediateIndexed
dcl_constantbuffer cb2[15], immediateIndexed
dcl_constantbuffer cb5[7], immediateIndexed
dcl_constantbuffer cb12[18], immediateIndexed
dcl_constantbuffer cb10[2], immediateIndexed
dcl_constantbuffer cb9[2], immediateIndexed
dcl_sampler s1, mode_default
dcl_sampler s4, mode_default
dcl_sampler s5, mode_default
dcl_sampler s6, mode_default
dcl_sampler s7, mode_default
dcl_sampler s8, mode_default
dcl_sampler s10, mode_default
dcl_sampler s12, mode_default
dcl_resource_texture2d (float,float,float,float) t1
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t5
dcl_resource_texture2d (float,float,float,float) t6
dcl_resource_texture2d (float,float,float,float) t7
dcl_resource_texture2d (float,float,float,float) t8
dcl_resource_texture2d (float,float,float,float) t10
dcl_resource_texture2d (float,float,float,float) t12
dcl_input_ps linear v1.xy
dcl_input_ps linear v2.xyzw
dcl_output o0.xyzw
dcl_temps 8
sample r0.xyzw, v1.xyxx, t12.xyzw, s12
add r0.x, -r0.x, cb12[17].w
add r0.x, r0.x, l(1.000000e+000)
div r0.x, cb12[17].z, r0.x
div r0.yz, v2.xxyx, v2.wwww
mad r0.yz, r0.yyzy, r0.xxxx, cb1[15].xxyx
add r0.w, r0.x, l(-5.120000e+002)
mul r1.x, r0.w, l(1.250000e-002)
mad_sat r0.w, -r0.w, l(1.250000e-002), l(1.000000e+000)
mul r0.yz, r0.yyzy, cb10[0].xxxx
sample r2.xyzw, r0.yzyy, t5.xyzw, s5
add_sat r0.y, r2.x, -cb10[1].x
mul r0.y, r0.w, r0.y
lt r0.y, l(0.000000e+000), r0.y
div r1.yzw, v2.xxyz, v2.wwww
mad r0.xzw, r1.yyzw, r0.xxxx, cb1[15].xxyz
mul r1.yz, r0.xxzx, cb10[0].xxxx
sample r2.xyzw, r1.yzyy, t5.xyzw, s5
mul r1.yz, r0.xxzx, l(0.000000e+000, 5.000000e-001, 5.000000e-001, 0.000000e+000)
sample r3.xyzw, r1.yzyy, t6.xyzw, s6
mad r1.yz, r0.xxzx, cb9[1].xxyx, cb9[1].zzwz
mad r1.yz, r1.yyzy, l(0.000000e+000, 1.000000e+000, -1.000000e+000, 0.000000e+000), l(0.000000e+000, 0.000000e+000, 1.000000e+000, 0.000000e+000)
sample r4.xyzw, r1.yzyy, t7.xyzw, s7
if_nz r0.y
  sample r5.xyzw, v1.xyxx, t8.xyzw, s8
  sample r6.xyzw, v1.xyxx, t10.xyzw, s10
  sample r7.xyzw, v1.xyxx, t4.xyzw, s4
  mul r0.y, r6.x, r7.x
  dp2 r0.y, r0.yyyy, r0.yyyy
  mov_sat r1.x, r1.x
  add r1.x, -r1.x, l(1.000000e+000)
  add r1.y, r5.w, cb10[0].y
  mul_sat r1.y, r1.y, cb10[0].z
  mul r1.x, r1.x, r1.y
  add r1.y, r6.x, l(-5.000000e-001)
  add_sat r1.z, r6.x, r6.x
  mul r1.z, r1.z, r1.z
  mul r1.z, r1.z, r1.z
  mul r1.x, r1.z, r1.x
  add_sat r1.z, r2.x, -cb10[1].x
  mad r1.x, r1.z, r1.x, l(-7.812500e-002)
  mul_sat r1.xy, r1.xyxx, l(1.185185e+000, 8.000000e+000, 0.000000e+000, 0.000000e+000)
  add r0.xzw, -r0.xxzw, cb1[15].xxyz
  dp3 r1.z, r0.xzwx, r0.xzwx
  rsq r1.z, r1.z
  mul r0.xzw, r0.xxzw, r1.zzzz
  mad r1.zw, r3.xxxy, l(0.000000e+000, 0.000000e+000, 2.000000e+000, 2.000000e+000), l(0.000000e+000, 0.000000e+000, -1.000000e+000, -1.000000e+000)
  add r2.xy, r4.xyxx, l(-1.960784e-003, -1.960784e-003, 0.000000e+000, 0.000000e+000)
  mad r1.zw, r2.xxxy, l(0.000000e+000, 0.000000e+000, 2.000000e+000, 2.000000e+000), r1.zzzw
  add r1.zw, r1.zzzw, l(0.000000e+000, 0.000000e+000, -1.000000e+000, -1.000000e+000)
  mul r2.xy, r1.yyyy, r1.zwzz
  dp2 r1.y, r2.xyxx, r2.xyxx
  add r1.y, -r1.y, l(1.000000e+000)
  sqrt r2.z, |r1.y|
  dp3_sat r1.y, r0.xzwx, r2.xyzx
  add r1.y, -r1.y, l(1.000000e+000)
  mul r1.z, r1.y, r1.y
  mul r1.z, r1.z, r1.z
  mul r1.y, r1.z, r1.y
  mad r1.y, r1.y, l(9.796300e-001), l(2.037000e-002)
  dp3 r1.z, -r0.xzwx, r2.xyzx
  min r1.z, r1.z, l(0.000000e+000)
  mul r2.xyz, r1.zzzz, r2.xyzx
  mad r2.xyz, -r2.xyzx, l(2.000000e+000, 2.000000e+000, 2.000000e+000, 0.000000e+000), -r0.xzwx
  lt r0.x, r2.z, l(0.000000e+000)
  movc r0.x, r0.x, r0.w, r2.z
  add r0.z, cb5[6].z, l(-5.000000e+000)
  lt r0.w, l(0.000000e+000), r0.z
  movc r0.z, r0.w, l(-5.000000), r0.z
  mul r2.xyz, r2.xyxx, l(-2.500000e-001, 5.000000e-001, 2.500000e-001, 0.000000e+000)
  add r0.w, |r0.x|, l(1.000000e+000)
  div r2.xyz, r2.xyzx, r0.wwww
  add r2.xyz, -r2.xyzx, l(7.500000e-001, 5.000000e-001, 2.500000e-001, 0.000000e+000)
  lt r0.x, l(0.000000e+000), r0.x
  movc r0.xw, r0.xxxx, r2.xxxy, r2.zzzy
  sample_l r2.xyzw, r0.xwxx, t1.xyzw, s1, r0.z
  mul r0.xzw, r1.yyyy, r2.xxyz
  add r0.y, r0.y, -cb10[1].w
  mul_sat r0.y, r0.y, l(1.500000e+000)
  add r1.z, -cb10[1].z, l(1.000000e+000)
  mad r1.y, r1.z, r1.y, cb10[1].z
  mul r1.x, r1.x, l(3.000000e+000)
  min r1.x, r1.x, l(1.000000e+000)
  mul r1.x, r1.x, r1.y
  mul o0.w, r0.y, r1.x
  mul o0.xyz, r0.xzwx, cb2[14].zzzz
else
  mov o0.xyzw, l(0,0,0,0)
endif
ret